---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, include, exclude)
2154 # see https://github.com/ipython/ipython/issues/11038
2155 try:
2156 dct = self.to_dict()
2157 except Exception:
-> 2158 utils.display_traceback(in_ipython=True)
2159 return {}
2160 else:
2161 return renderers.get()(dct)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs)
846
847 # TopLevelMixin instance does not necessarily have to_dict defined
848 # but due to how Altair is set up this should hold.
849 # Too complex to type hint right now
--> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc]
851
852 # TODO: following entries are added after validation. Should they be validated?
853 if is_top_level:
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context)
792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"]
793 }
794 if "mark" in kwds and isinstance(kwds["mark"], str):
795 kwds["mark"] = {"type": kwds["mark"]}
--> 796 result = _todict(
797 kwds,
798 context=context,
799 )
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
--> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
341 elif hasattr(obj, "to_dict"):
342 return obj.to_dict()
343 elif isinstance(obj, np.number):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 340 def _todict(obj, context):
341 """Convert an object to a dict representation."""
342 if isinstance(obj, SchemaBase):
343 return obj.to_dict(validate=False, context=context)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
334 """Convert an object to a dict representation."""
335 if isinstance(obj, SchemaBase):
336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
--> 338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
341 elif hasattr(obj, "to_dict"):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 338 def _todict(obj, context):
339 """Convert an object to a dict representation."""
340 if isinstance(obj, SchemaBase):
341 return obj.to_dict(validate=False, context=context)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
333 def _todict(obj, context):
334 """Convert an object to a dict representation."""
335 if isinstance(obj, SchemaBase):
--> 336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs)
2516 # for easier specification of datum encodings.
2517 copy = self.copy(deep=False)
2518 copy.data = core.InlineData(values=[{}])
2519 return super(Chart, copy).to_dict(*args, **kwargs)
-> 2520 return super().to_dict(*args, **kwargs)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs)
846
847 # TopLevelMixin instance does not necessarily have to_dict defined
848 # but due to how Altair is set up this should hold.
849 # Too complex to type hint right now
--> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc]
851
852 # TODO: following entries are added after validation. Should they be validated?
853 if is_top_level:
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context)
792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"]
793 }
794 if "mark" in kwds and isinstance(kwds["mark"], str):
795 kwds["mark"] = {"type": kwds["mark"]}
--> 796 result = _todict(
797 kwds,
798 context=context,
799 )
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
--> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
341 elif hasattr(obj, "to_dict"):
342 return obj.to_dict()
343 elif isinstance(obj, np.number):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 340 def _todict(obj, context):
341 """Convert an object to a dict representation."""
342 if isinstance(obj, SchemaBase):
343 return obj.to_dict(validate=False, context=context)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
333 def _todict(obj, context):
334 """Convert an object to a dict representation."""
335 if isinstance(obj, SchemaBase):
--> 336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context)
792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"]
793 }
794 if "mark" in kwds and isinstance(kwds["mark"], str):
795 kwds["mark"] = {"type": kwds["mark"]}
--> 796 result = _todict(
797 kwds,
798 context=context,
799 )
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
--> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
341 elif hasattr(obj, "to_dict"):
342 return obj.to_dict()
343 elif isinstance(obj, np.number):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 340 def _todict(obj, context):
341 """Convert an object to a dict representation."""
342 if isinstance(obj, SchemaBase):
343 return obj.to_dict(validate=False, context=context)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
334 """Convert an object to a dict representation."""
335 if isinstance(obj, SchemaBase):
336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
--> 338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
341 elif hasattr(obj, "to_dict"):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 338 def _todict(obj, context):
339 """Convert an object to a dict representation."""
340 if isinstance(obj, SchemaBase):
341 return obj.to_dict(validate=False, context=context)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
333 def _todict(obj, context):
334 """Convert an object to a dict representation."""
335 if isinstance(obj, SchemaBase):
--> 336 return obj.to_dict(validate=False, context=context)
337 elif isinstance(obj, (list, tuple, np.ndarray)):
338 return [_todict(v, context) for v in obj]
339 elif isinstance(obj, dict):
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/schema/channels.py in ?(self, validate, ignore, context)
43 # We still parse it out of the shorthand, but drop it here.
44 parsed.pop('type', None)
45 elif not (type_in_shorthand or type_defined_explicitly):
46 if isinstance(context.get('data', None), pd.DataFrame):
---> 47 raise ValueError(
48 'Unable to determine data type for the field "{}";'
49 " verify that the field name is not misspelled."
50 " If you are referencing a field from a transform,"
ValueError: Unable to determine data type for the field "ln"; verify that the field name is not misspelled. If you are referencing a field from a transform, also confirm that the data type is specified correctly.